// for (var i=0; i<5; i++) {
//   setTimeout (function () {
//     console.log(i++);
//   }, 4000);
// }

// console.log(i);

// console.log("用let来避免闭包");
// for (let i=0; i<5; i++) {
//   setTimeout (function () {
//     console.log(i++);
//   }, 4000);
// }

console.log("用即时执行函数来避免闭包");

for (var i=0;i<5;i++) {
  (function (x) {
    setTimeout (function () {
      console.log(x++);
    }, 4000)
  })(i);
}

console.log(i);